﻿$(document).ready(function () {


    //La pagina solo contiene un modulo
    var _PAGE = function () {
        this._ManPostulantes = null;


        this.InitManPostulantes = function (Cont) {
            var _parent = this;

            //Vemos si existe el estado del postulante
            if (_parent._ManPostulantes == null) {
                jQuery.getScript(URL_PAGE + "Scripts/app/administrador/ManPostulantes.js", function () {
                    _ManPostulantes.prototype = new Mantenimiento();
                    _parent._ManPostulantes = new _ManPostulantes();
                    _parent.InitManPostulantes(Cont);
                });
            } else {
                var _Urls = Urls;
                _Urls.List = URL_PAGE + "Shared/Catalogo/ListaDePostulante";
                _parent._ManPostulantes.VistaLista = "cajero";
                _parent._ManPostulantes.Init(Cont, _Urls, "Modal");

                _parent._ManPostulantes.Facturar = function () {
                    var _parent = this;

                    this._ContList.off("click", ".facturar");
                    this._ContList.on("click", ".facturar", function () {
                        var obj = $(this);

                        $.ajax({
                            type: 'post',
                            url: URL_PAGE + "Administrador/Cajero/FacturarPedido",
                            data: { idpostulante: obj.attr("data-idpostulante"), _cargarLoadingModal: 1 },
                            success: function (data) {

                            }
                        });
                    });

                };

                _parent._ManPostulantes.Facturar();
                _parent.CargarEventosListaPostulante();
            }

        };

        this.CargarEventosListaPostulante = function () {
            var _parent = this;

            //Cancelar el pago
            _parent._ManPostulantes._ContList.off("click", ".cancelar-pago");
            _parent._ManPostulantes._ContList.on("click", ".cancelar-pago", function () {
                var obj = $(this);

                $.ajax({
                    type: 'post',
                    url: URL_PAGE + "Administrador/Cajero/FormFacturacionReferenciaPI",
                    data: { idpostulante: obj.attr("data-idpostulante") },
                    success: function (html) {

                        var modal = _parent._ManPostulantes._getModalV2();
                        modal.modal('show');
                        modal.find(".modal-body").html(html);
                        modal.find(".modal-header").find("h2").html("Cancelar pago de inscripción");


                        //Obteniendo el formulario
                        form = modal.find("#FormCargaExamen");
                        modal.find(".modal-footer").find("#aceptar").click(function () {
                            form.submit();
                        });

                        //Habilitando el formulario para el envio
                        form.validationEngine({
                            ajaxSubmit: true,
                            onValidationComplete: function (form1, status) {

                                if (status) {
                                    var confirmacion = _parent._ManPostulantes._MensajeConfirmacion();
                                    confirmacion.titulo = "Desea cancelar el pago";
                                    confirmacion.contenido = "Una vez registrado no podrá modificarlo";
                                    confirmacion.yes = function () {
                                        form.ajaxSubmit({
                                            success: function (responseText, statusText, xhr, $form) {
                                                _parent._ManPostulantes._MensajesOperacion("success",
                                                    "Operación realizado correctamente",
                                                    ""
                                                    );
                                                modal.modal('hide');
                                                _parent._ManPostulantes.ListEspecial({ idregistro: obj.attr("data-idpostulante") });
                                            }
                                        });
                                    };
                                    confirmacion.modal();
                                }
                            }
                        });

                    }
                });
            });        
        }
    };

    var page = new _PAGE();
    page.InitManPostulantes($("#_Postulante"));
});
